Release 10.1A: OpenEdge Development:
Debugging and Troubleshooting


Analyzing procedures and queries

Use the following resources and tools to analyze your procedures and queries:

COMPILE XREF option

The XREF option of the COMPILE statement provides a variety of static data about a 4GL procedure, including:

Example 7–8 shows the XREF option output generated by executing execlog.p. (See Example 7–3 for sample code of execlog.p.)

Example 7–8: Sample XREF option output  
execlog.p execlog.p 1 COMPILE execlog.p 
execlog.p execlog.p 1 CPINTERNAL iso8859-1 
execlog.p execlog.p 1 CPSTREAM ibm850 
execlog.p execlog.p 1 STRING "ix" 2 NONE UNTRANSLATABLE  
execlog.p execlog.p 3 STRING "Customer" 8 NONE UNTRANSLATABLE  
execlog.p execlog.p 3 ACCESS sports.Customer Name  
execlog.p execlog.p 3 SEARCH sports.Customer Name WHOLE-INDEX 
execlog.p execlog.p 4 ACCESS sports.Customer Name  
execlog.p execlog.p 4 STRING "x(20)" 5 NONE TRANSLATABLE  FORMAT  
execlog.p execlog.p 9 STRING "->,>>>,>>9" 10 NONE TRANSLATABLE  FORMAT  
execlog.p execlog.p 14 STRING "ii" 2 NONE UNTRANSLATABLE  
execlog.p execlog.p 15 STRING "Number of Customers is " 23 NONE TRANSLATABLE  
execlog.p execlog.p 15 STRING "x(23)" 5 NONE TRANSLATABLE  FORMAT  
execlog.p execlog.p 15 STRING "->,>>>,>>9" 10 NONE TRANSLATABLE  FORMAT  
execlog.p execlog.p 16 STRING "ii" 2 LEFT TRANSLATABLE  
execlog.p execlog.p 16 STRING "                          ----------------" 42 
NONE UNTRANSLATABLE  
execlog.p execlog.p 16 PROCEDURE internalA,,INPUT ii INTEGER 
execlog.p execlog.p 16 STRING "INTERNALA" 9 NONE UNTRANSLATABLE  
execlog.p execlog.p 16 STRING "ix" 2 LEFT TRANSLATABLE  
execlog.p execlog.p 16 STRING "----------------" 16 NONE UNTRANSLATABLE  
execlog.p execlog.p 16 STRING "Name" 4 LEFT TRANSLATABLE  
execlog.p execlog.p 16 STRING "Name" 4 NONE UNTRANSLATABLE  
execlog.p execlog.p 16 STRING "----------------------" 22 NONE UNTRANSLATABLE  
execlog.p execlog.p 16 STRING "Name" 4 NONE UNTRANSLATABLE  
execlog.p execlog.p 8 RUN execlog2.p 

For detailed information on the XREF option, see OpenEdge Development: Progress 4GL Reference .

INDEX-INFORMATION attribute of the query object handle

The INDEX-INFORMATION attribute provides data on a dynamic query similar to what XREF provides on a static query. For example, given a dynamic query q1, where the QUERY PREPARE string is:

FOR EACH customer WHERE cust-num < 3, EACH order OF customer, EACH 
order-line 

The query returns these attribute values:

q1:INDEX-INFORMATION[1] = "Cust-Num" 
q1:INDEX-INFORMATION[1] = "Cust-Order" 
q1:INDEX-INFORMATION[1] = "WHOLE-INDEX,order-line" 

For detailed information on the INDEX-INFORMATION attribute, see OpenEdge Development: Progress 4GL Reference .

To obtain additional query information and statistics use the QryInfo log entry type. For detailed information see the "Query Info logging" section.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095